Evaluating Software Architectures for Stability and Evolution

نویسنده

  • Rami Bahsoon
چکیده

Architectural stability refers to the extent an architecture is flexible to endure evolutionary changes in stakeholders’ requirements and the environment, while leaving the architecture intact. We report an early result in an emerging discipline of software engineering, the economic-driven software engineering research. We propose a novel approach for evaluating the stability of software architectures using a synergy of real options theory and viewpoints. Specifically, we contribute to a novel model that exploits options theory to predict architectural stability. The model is predictive: it provides “insights” on the evolution of the software system based on valuing the extent an architecture can endure a set of likely evolutionary changes. The model builds on Black and Scholes financial options theory (Noble Prize wining) to value such extent. We show how we have derived the model: the analogy and assumptions made to reach the model, its formulation, and possible interpretations. We refer to this model as ArchOptions. ArchOptions requires the estimation of several parameters. The estimation necessarily involves many partieseach with their own perspective on the system defined by their valuation objectives, assessment “regime”, skills, responsibilities, knowledge, and expertise. The problem associated with how to guide the estimation in this setting, we term as a multiple perspectives valuation problem. We describe the problem from a value-based software engineering perspective. We suggest a viewpoints-oriented framework as a solution. The framework appears to promote flexibility in implementing the model through aligning the estimation needs with value objectives, valuation strategy, expertise, tools, and/or the development (evolution) process. The contribution of this framework demonstrates the ability to evolve robust approaches in software engineering to solve problems in an emerging discipline, the value-based software engineering.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Evaluating Software Architectures: Development, Stability, and Evolution

We survey seminal work on software architecture evaluation methods. We then look at an emerging class of methods that explicates evaluating software architectures for stability and evolution. We define architectural stability and formulate the problem of evaluating software architectures for stability and evolution. We draw the attention on the use of Architectures Description Languages (ADLs) ...

متن کامل

Evolution Impact on Architecture Stability in Open-Source Projects

Software systems usually evolve constantly, which requires constant development and maintenance. Subsequently, the architecture of these systems tends to degrade with time. Therefore, stability is a key measure for evaluating an architecture. Open-source software systems are becoming progressively vital these days. Since open-source software systems are usually developed in a different manageme...

متن کامل

Evolution Impact on Architecture Stability in Open-Source Projects

Software systems usually evolve constantly, which requires constant development and maintenance. Subsequently, the architecture of these systems tends to degrade with time. Therefore, stability is a key measure for evaluating an architecture. Open-source software systems are becoming progressively vital these days. Since open-source softwares are usually developed in a different management styl...

متن کامل

Evaluating Software Architectures for Stability: A Real Options Approach

Architectural stability refers to the extent an architecture is flexible to endure evolutionary changes in stakeholders’ requirements and the environment, while leaving the architecture intact. In an evolutionary context, there is a pressing need for stable software architectures. In this context, requirements are generally volatile; they are likely to change and evolve over time. The change is...

متن کامل

Business Applications Architecture Model Based on Software Product Line Approach

Software product line architecture is one of the most important artifacts defined at the early stage of a product line development process. Since the rest of the products are developed based on the initial product line architecture, it is of high importance to ensure the architecture stability by enabling the software’s evolution possibilities. Industrial evidence shows that companies spend mor...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003